package com.gym.service.user;

import com.gym.VO.ResultVO;
import com.gym.VO.user.PageVO;
import com.gym.dto.user.UserBaseInfoDTO;
import com.gym.enums.ResultEnum;
import com.gym.form.user.UpdatePasswordForm;
import com.gym.pojo.user.UserBaseInfo;
import com.gym.pojo.user.UserDetailInfo;

public interface UserService {

	// 添加用户基本信息
	public ResultVO addUserBaseInfo(UserBaseInfoDTO userBaseInfoDTO);

	// 添加用户详细信息
	public ResultEnum addUserDetailInfo(UserDetailInfo userDetailInfo);

	// 根据id删除用户基本信息
	public ResultEnum deleteUserBaseInfo(Long userId);

	// 根据id删除用户详细信息
	public ResultEnum deleteUserDetailInfo(Long userId);

	// 修改用户密码
	public ResultEnum updatePassword(UpdatePasswordForm updatePasswordForm);

	// 根据id修改用户基本信息
	public ResultEnum updateUserBaseInfo(UserBaseInfo userBaseInfo);

	// 根据id修改用户详细信息
	public ResultEnum updateUserDetailInfo(UserDetailInfo userDetailInfo);

	// 根据id查询用户基本信息
	public UserBaseInfo getUserBaseInfoById(Long userId);

	// 根据用户名查询用户基本信息
	public UserBaseInfo getUserBaseInfoByName(String userName);

	// 根据id查询用户详细信息
	public UserDetailInfo getUserDetailInfoById(Long userId);

	// 根据手机号码查询用户详细信息
	public UserDetailInfo getUserDetailInfoByPhoneNumber(String phoneNumber);

	// 根据学号查询用户详细信息
	public UserDetailInfo getUserDetailInfoByStudentId(String studentId);

	// 根据分页查询用户信息
	public PageVO pageInfos(int currentPage, int pageSize);
}
